package Java道题;

public class Lianxi9 {
	//题目：一个数如果恰好等于它的因子之和，这个数就称为 "完数 "。例如6=1＋2＋3.编程 找出1000以内的所有完数。 
	public static void FindWanShu()
	{
		/*System.out.println("1到1000的完数有：");
		int i=2,j=2,num;
		while(j<=1000)
		{
			int n=j;
		    i=2;//放在内部
		    num=0;//放在内部
			while(i!=n)
			{
				if(n%i==0)
				{
					int tmp=n/i;
					n=tmp;
					num+=i;
				}
				else
				{
					i++;
				}
			}
			if(num+i+1==j)
			{
				System.out.println(num+i+1);
			}
				j++;
			
		}*/
		System.out.println("1到1000的完数有：");
		for(int i=1;i<1000;i++){
		int t=0;
		for(int j=1;j<=i/2;j++){
		if(i%j==0){
		t=t+j;
		}
		}
		if(t==i){
		System.out.print(i+" ");
		}
		}
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
	
		FindWanShu();
	}

}
